package dao;

import dao.domain.Client;
import dao.domain.Order;

import java.sql.SQLException;
import java.util.List;

/**
 * @author huangzhiyang
 * @Date 2023/11/7
 * @Description
 */
public interface OrderDao {
    /**
     * 删除订单
     *
     * @param order 被删除对象
     * @throws SQLException 数据库异常
     */
    void delete(Order order) throws SQLException;

    /**
     * 保存订单
     *
     * @param order 保存对象
     * @throws SQLException 数据库异常
     */
    void save(Order order) throws SQLException;

    /**
     * 根据订单号搜索数据库
     *
     * @param id 订单号
     * @return 订单对象
     * @throws SQLException 数据库异常
     */
    Order selectById(int id) throws SQLException;

    /**
     * 查询client发起的订单
     *
     * @param client 发起者
     * @return 订单
     * @throws SQLException 数据库异常
     */
    List<Order> selectByClient(Client client) throws SQLException;

    /**
     * 查询所有订单
     *
     * @return 订单
     * @throws SQLException 数据库异常
     */
    List<Order> selectAll() throws SQLException;
}
